iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
1
自我挑戰組

ROS自學筆記系列 第 21

Day 21 - Msg & Srv file

  • 分享至 

  • xImage
  •  

今天又是很趕的一天,連跑了三個面試,差點來不及回來寫鐵人賽,還好趕上了 XD

之前我們學完了TopicService,是透過不同的方法讓Node之間溝通,那他們在溝通的時候都是使用messsage在傳輸訊息,在ROS裡面定義一個message,需要使用.msg.srv檔案,那我們就來看看這兩個差在哪吧!

.msg file

.msg檔就是定義一個message格式的一種檔案,我們可以自定義自己想要的message type,但他當然也有已經建立好的一些格式讓我們可以直接拿來用,例如之前Topic教學裡面的std_msgs/String就是一種,官方提供的message格式有這些:
官方message type
官方message type
大概就是包含了各種型別跟一些陣列,當然如果上述格式的message都不符合我們的需求的話,就要自己定義一種新的格式囉!

.srv file

上一篇我們其實就講過了service其實是由一組requestresponse組成的,所以它會包含兩種不同格式的message,是分別給requestresponse用的,像上次Service的範例add_two_ints,就是request需要兩個int型別的資料,而response就是一個int這樣,其定義的格式如下:

int64 a
int64 b
---
int64 sum

.srv檔中會用---requestresponse格式的定義分開,所以這樣大概就可以看出他需要兩個int參數,並回傳一個int的資料。

明天我們就來寫看看自己定義的msgsrv吧!


上一篇
Day 20 - ROS Services 常用指令 & Service Structure
下一篇
Day 22 - 建立自定義的.msg file
系列文
ROS自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
SunAllen
iT邦研究生 1 級 ‧ 2018-11-05 22:42:56

大大面試加油!

iT邦新手 5 級 ‧ 2018-11-06 23:08:10 檢舉

謝謝你^^

我要留言

立即登入留言